Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
In modern data centers, numerous Virtual Machines (VMs), often associated with numerous data center customers, execute on numerous servers. It is also common for multiple VMs to execute on any one data center server. Virtual Machine Managers (VMMs) manage sharing of hardware resources, such as processor time, by VMs running on each data center server. One example approach employed by VMMs is the so-called “fair sharing” approach, in which each VM under the management of a common VMM is generally assigned a substantially equal amount of processor time.
VMs within a data center may be configured for any of a huge variety of tasks. Some VMs may support ecommerce, such as by providing product descriptions, prices, customer account information and payment processing services supporting an ecommerce website. Some VMs may support mobile applications such as news, sports, weather, and email feeds. Some VMs may support single- or multiplayer gaming applications. The variety of uses for VMs within data centers is very wide and continues to grow. Different VMs have a variety of different needs and behaviors. Adapting data center technologies to run as efficiently as possible in view of the different needs and behaviors of VMs presents an ongoing challenge in the industry.